﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Capa_Entidad;

namespace Capa_Negocio_Interface
{
    public interface IFacadeRegistrarAtencion
    {
        List<ATE_ATENCION> ListarAte_Atencion();

        bool InsertarHistoriaSocial(ATE_HISTORIA_SOCIAL obj);
        List<ATE_HISTORIA_SOCIAL> GetHistoriaSocial(int idHistoriaSocial);
        bool ModificarHistoriaSocial(ATE_HISTORIA_SOCIAL obj);


        List<ATE_ATENCION> obtenerDatosAtencion(int idAtencion);
        bool EliminarAtencion(ATE_ATENCION objAtencion);
        List<GEN_ESPECIALIDAD> listarEspecialidad();
        //List<GEN_MEDICO> listarMedico();
        List<V_Medico_Especialidad> listarMedicoXEspecialidad(int? ID_Especialidad);
        IEnumerable<Object> listarServicio(Int32 ID);
        List<GEN_SERVICIO> listarServicioXEspecialidad(int? ID_Especialidad);
        bool InsertarReceta(ATE_ATENCION_RECETA obj);
        bool InsertarAtencion(ATE_ATENCION obj);
        ATE_ATENCION_RECETA obtenerUltimaReceta();
        ATE_ATENCION obtenerUltimaAtencion();
        List<ADM_PACIENTE> listarPaciente(string codPaciente);
        List<ADM_PACIENTE> listarPaciente();
        List<ATE_ATENCION_RECETA> listarRecetasPorCodAtencion(int idAtencion);
        List<GEN_TIPO_SERVICIO> ListarTipoServicio();
        List<GEN_ESPECIALIDAD> listarEspecialidadPorTipoServicio(int? idTipoServicio);
        bool modificarAtencion(ATE_ATENCION objAtencion);
        bool insertarEnfermedadActual(ATE_ENFERMEDAD_ACTUAL objEnfermedadActual);
        bool modificarEnfermedadActual(ATE_ENFERMEDAD_ACTUAL objEnfermedadActual);
        List<ATE_ENFERMEDAD_ACTUAL> listarEnfermedadActual(int id_atencion);

        IEnumerable<Object> ListarProcedimientos();
        IEnumerable<Object> ListarAtencionExamenes(int? idAtencion);
        IEnumerable<Object> ListarAtencionExamenes();
        Boolean Insertar(List<ATE_ATENCION_EXAMEN> ListAtencionExamen);


        ///*  Registro de ATE_EXAMEN_ACTIVIDAD * ///
        ATE_EXAMEN_ACTIVIDAD obtenerUltimaAtencionATE_EXAMEN_ACTIVIDAD();
        bool InsertarATE_EXAMEN_ACTIVIDAD(ATE_EXAMEN_ACTIVIDAD obj);
        bool ModificarATE_EXAMEN_ACTIVIDAD(ATE_EXAMEN_ACTIVIDAD obj);
        bool EliminarATE_EXAMEN_ACTIVIDAD(ATE_EXAMEN_ACTIVIDAD obj);
        List<ATE_EXAMEN_ACTIVIDAD> ListarATE_EXAMEN_ACTIVIDAD(int id_atencion);

          ////////REGISTRO DE TABLA  ATE_ATENCION_DIAGNOSTICO ////////

        bool InsertarAtencionDiagnostico(ATE_ATENCION_DIAGNOSTICO Obj);
        bool ModificarAtencionDiagnostico(ATE_ATENCION_DIAGNOSTICO obj);
        bool EliminarAtencionDiagnostico(ATE_ATENCION_DIAGNOSTICO obj);
        int ObtenerIdUltimoAtencionDiagnostico();

        ////////REGISTRO DE TABLA  ATE_ATENCION_DIAGNOSTICO ////////

        bool InsertarProductos(CYF_PRODUCTO Obj);
        bool ModificarProductos(CYF_PRODUCTO obj);
        bool EliminarProductos(CYF_PRODUCTO obj);
        List<CYF_PRODUCTO> ListarProductos();

        ////////REGISTRO DE TABLA  ATE_DETALLE_RECETA ////////

         bool InsertarDetalleReceta(ATE_DETALLE_RECETA Obj);
         List<ATE_DETALLE_RECETA> listarDetalleReceta();
         int ObtenerIdUltimoReceta();
         List<V_DETALLE_RECETA> listarDetalleRecetaPorCodAtencion(int idAtencion);

         IEnumerable<object> ListarCitasPendientes();
         bool ActualizarEstadoCita(int IdCita, int estado);
         List<V_LISTA_CITAS> ListaCitaAtencion(int IdAtencion);
          List<V_LISTA_HISTORIAL_PACIENTE> ListarNumHistorial(int IdPaciente);
         List<ATE_ATENCION> ListarAtencionxpaciente(int IdPaciente);
    }
}
